<?php 
/**
 * 制作回调函数
 */
function demo($a=1, $b=2, $c=3){
	echo "---$a---$b---$c---";
}

//参数个数变长时，就不能调用函数
call_user_func_array("demo", array(111, 222, 333));


/**
 * [demo1 判断函数]
 * @param  [type] $a [description]
 * @param  [type] $b [description]
 * @return [type]    [description]
 */
function demo1($a, $b){
	for($i=0; $i<$a; $i++){
		//变量函数：if($b($i)){
		//call_user_func_array()函数
		if(call_user_func_array($b, array($i))){
			continue;
		}
		echo $i."<br/>";
	}
}
/**
 * [smarty_test 条件函数]
 * @param  [type] $a [description]
 * @return [type]    [description]
 */
function test($a){
	if($a==strrev($a)){
		return true;
	}else{
		return false;
	}
}

//"smarty_test"并不是字符串，而是表示回调函数中的函数名称
demo1(1000, "smarty_test");





 ?>